package hexagone;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JPanel;
import org.jscience.mathematics.number.Integer64;

public class DrawJCanvas extends JPanel {

    Integer64 UN = Integer64.ONE;
    Integer64 ZERO = Integer64.ZERO;
    Integer64 _64 = Integer64.ONE.times(64);

    @Override
    public void paint(Graphics g1) {
        Graphics2D g = (Graphics2D) g1;
        Hexagone hexagone = new Hexagone(g);
        int[] nombre;
        int ix = 0, iy = 0;
        int EX = 150;
        int EY = 100;

        for (Integer64 I = ZERO ; I.isLessThan(_64) ; I = I.plus(UN)) {
            String str = Long.toBinaryString(I.longValue());
            nombre = new int[ 6 ];
            int k = 0;
            while (k < str.length()) {
                nombre[5 - k] = str.charAt(k) == '0' ? 0 : 1;
                k++;
            }

            if (ix == 7) {
                ix = 0;
                iy++;
            } else {
                ix++;

            }
            hexagone.setPosition(50 + EX * ix, 50 + EY * iy);

            hexagone.buildAndDraw(nombre);
            hexagone.hexagone_1(Color.RED);
            hexagone.hexagone_0(Color.GREEN);
        }

//        int[] nombre1 = {0, 0, 0, 0, 0, 1};
//        hexagone.setPosition(50, 50);
//        hexagone.buildAndDraw(nombre1);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//
//        int[] nombre2 = {0, 0, 0, 0, 1, 0};
//        hexagone.setPosition(200, 50);
//        hexagone.buildAndDraw(nombre2);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//        int[] nombre3 = {0, 0, 0, 0, 1, 1};
//        hexagone.setPosition(350, 50);
//        hexagone.buildAndDraw(nombre3);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//        int[] nombre4 = {0, 0, 0, 1, 0, 0};
//        hexagone.setPosition(500, 50);
//        hexagone.buildAndDraw(nombre4);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//        int[] nombre5 = {0, 0, 0, 1, 0, 1};
//        hexagone.setPosition(50, 150);
//        hexagone.buildAndDraw(nombre5);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//        int[] nombre6 = {0, 0, 0, 1, 1, 0};
//        hexagone.setPosition(200, 150);
//        hexagone.buildAndDraw(nombre6);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//
//        int[] nombre7 = {0, 0, 0, 1, 1, 1};
//        hexagone.setPosition(350, 150);
//        hexagone.buildAndDraw(nombre7);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
//        int[] nombre8 = {0, 0, 1, 0, 0, 0};
//        hexagone.setPosition(500, 150);
//        hexagone.buildAndDraw(nombre8);
//        hexagone.hexagone_1(Color.RED);
//        hexagone.hexagone_0(Color.GREEN);
    }
}
